# coding=utf-8
from flask import Flask
from flask import request
from flask import abort
from flask import jsonify
import re

app = Flask(__name__)

@app.route('/', methods=['POST', 'GET'])
def index():
    print('请求方式为------->', request.method)
    args = request.args.get("name") or "args 没有参数"
    print('args参数是------->', args)
    form = request.form.get('name') or 'form 没有参数'
    print('form参数是------->', form)
    json = request.get_json().get('name') or 'json 没有参数'
    print('json参数是------->', json)
    return jsonify(args=args, form=form, json=json)

# 获取token
@app.route('/token', methods=['POST'])
def get_token():
    params = request.get_json()
    print params.get('client_id')
    print params.get('client_secret')
    return jsonify(ret_code=1, ret_msg='success', expires_in = 2592000, access_token = 'fdsfsdf5445fdsf')

# 获取评分
@app.route('/getCredit', methods=['POST'])
def get_credit():
    # 获取请求参数
    params = request.get_json()
    print params.get('application_id') #	string	贷款申请编号
    print params.get('contract_id') #	string	贷款合同编号
    print params.get('collateral') #	int	贷款是否有抵押。0：无抵押；1：有抵押
    print params.get('is_default') #	int	贷款是否有超过90天逾期。0：无；1：有
    print params.get('dutation') #	int	贷款存续期 (用月份数表示)
    print params.get('debt_amount') #	float	总借款额
    print params.get('interest_rate') #	float	分期利率(用百分数表示，保留到小数点后两位)
    print params.get('name') #	string	贷款人姓名
    print params.get('gender') #	int	性别。('0：男；1：女；2：其他
    print params.get('age') #	int	年龄
    print params.get('marriage') #	int	婚姻状况。0：未婚；1：已婚；2：离异；3：丧偶
    print params.get('id_number') #	long	身份证号码
    print params.get('education') #	int	学历。0：初中及以下；1：高中：2：大专；3：本科；4：研究生及以上
    print params.get('job') #	string	职业
    print params.get('salary') #	float	月收入
    print params.get('housing') #	int	住房状况。11：多套自有；10：自有；9：小产权；8：宅基地房:7：共同拥有:；6：与父母同住且不拥有；5：租借或公司所有；4：租房；3：自购现无贷款；2：自购现有贷款；其他：1
    print params.get('car') #	int	有无汽车。0：无；1：有
    print params.get('current_address_length') #	int	在现住址居住的时间长短(用月份表示)
    print params.get('current_job_length') #	int	在现单位工作的时间长短(用月份表示)
    print params.get('loan_approv_1m') #	int	近一个月贷款审批查询次数
    print params.get('credit_card_1m') #	int	近一个月信用卡查询次数
    print params.get('post_loan_1m') #	int	近一个月贷后管理查询次数
    print params.get('personal_check_1m') #	int	近一个月本人查询次数
    print params.get('loan_approv_1y') #	int	近一年贷款审批查询次数
    print params.get('credit_card_1y') #	int	近一年信用卡审批查询次数
    print params.get('post_loan_1y') #	int	近一年贷后管理查询次数
    print params.get('personal_check_1y') #	int	近一年本人查询次数
    print params.get('num_otsd_loan') #	int	未结清贷款笔数
    print params.get('num_unliquidated_agency') #	int	未结清贷款机构数
    print params.get('amount_otsd_loan') #	float	未结清贷款合同总额
    print params.get('balance_otsd_loan') #	float	未结清贷款余额
    print params.get('loan_overdue_2y') #	int	近两年内贷款逾期笔数
    print params.get('total_month_overdue_2y') #	int	近两年内贷款逾期总月份数
    print params.get('longest_month_overdue_2y') #	int	近两年内贷款最长逾期月份数
    print params.get('loan_overdue_5y') #	int	近五年内贷款逾期笔数
    print params.get('total_month_overdue_5y') #	int	近五年内贷款逾期总月份数
    print params.get('longest_month_overdue_5y') #	int	近五年内最长逾期月份数
    print params.get('num_uncancelled_account') #	int	未销户贷记卡账户数
    print params.get('num_uncancelled_card_agency') #	int	未销户贷记卡发卡机构数
    print params.get('total_credit_granted') #	float	未销户贷记卡授信总额
    print params.get('total_credit_used') #	float	未销户贷记卡已用额度
    print params.get('overdue_card_account_5y') #	int	贷记卡近五年逾期账户数
    print params.get('total_overdue_card_month_5y') #	int	贷记卡近五年逾期月份数
    print params.get('longest_overdue_card_month_5y') #	int	贷记卡近五年最长逾期月数
    print params.get('overdue_card_account_2y') #	int	贷记卡近两年逾期账户数
    print params.get('total_overdue_card_month_2y') #	int	贷记卡近两年逾期月份数
    print params.get('longest_overdue_card_month_2y') #	int	贷记卡近两年最长逾期月数

    #TODO 将请求数据插入数据库
    #TODO 计算评分操作
    #TODO 将评分结果插入数据库

    #将评分结果返回给请求端
    return jsonify(ret_code=1, ret_msg='success', application_id = 'loan0001', score =678, pd = 0.47543)

if __name__ == '__main__':
    app.run(port= 5100)